<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <input type="checkbox" class="checkAll"> 
    <br>
    <input type="checkbox" class="checkOne"> 
    <input type="checkbox" class="checkOne"> 
    <input type="checkbox" class="checkOne"> 

    <script>

        var oAll = document.querySelector('.checkAll') ;
        var oOnes = document.querySelectorAll('.checkOne') ;


        oAll.onclick = function() {
            // console.log(21);
            // if(oAll.checked) {
            //     for(var i = 0 ; i < oOnes.length ; i++) {
            //         oOnes[i].checked = true ;
            //     }
            // }
            // else {
            //     for(var i = 0 ; i < oOnes.length ; i++) {
            //         oOnes[i].checked = false ;
            //     }  
            // }

            for(var i = 0 ; i < oOnes.length ; i++) {
                oOnes[i].checked = this.checked ;
            }
        }






        // 反选
        // for(var i = 0 ; i < oOnes.length ; i++) {
        //     oOnes[i].onclick = function(){
        //         // 判断全选要不要勾选
        //         for(var j = 0 ; j < oOnes.length ; j++) {
        //             if(!oOnes[j].checked) {
        //                 // oAll.checked = false;
        //                 break ;
        //             }
        //         }
        //         // if(j === oOnes.length) {
        //         //     oAll.checked = true ;
        //         // } else {
        //         //     oAll.checked = false ;
        //         // }

        //         // oAll.checked = j === oOnes.length ? true : false ;
        //         oAll.checked = j === oOnes.length ;
        //     }
        //  }


        for(var i = 0 ; i < oOnes.length ; i++) {
            oOnes[i].onclick = function(){
                // 判断全选要不要勾选
                var flag = true ;
                for(var j = 0 ; j < oOnes.length ; j++) {
                    if(!oOnes[j].checked) {
                        flag = false ;
                        break ;
                    }
                }
                oAll.checked = flag;
                
            }
         }

    </script>
    
</body>
</html>